/*     */ package com.newcrm.excel;
/*     */ 
/*     */ import com.newcrm.util.Util;
/*     */ import java.io.File;
/*     */ import java.io.FileInputStream;
/*     */ import java.io.IOException;
/*     */ import java.text.DecimalFormat;
/*     */ import java.text.SimpleDateFormat;
/*     */ import java.util.ArrayList;
/*     */ import java.util.Date;
/*     */ import java.util.List;
/*     */ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/*     */ import org.apache.poi.ss.usermodel.Cell;
/*     */ import org.apache.poi.ss.usermodel.DateUtil;
/*     */ import org.apache.poi.ss.usermodel.RichTextString;
/*     */ import org.apache.poi.ss.usermodel.Row;
/*     */ import org.apache.poi.ss.usermodel.Sheet;
/*     */ import org.apache.poi.ss.usermodel.Workbook;
/*     */ 
/*     */ public class XLSReader extends AbstractExcelReader
/*     */ {
/*  23 */   private File file = null;
/*     */ 
/*     */   public XLSReader(File file) {
/*  26 */     this.file = file;
/*     */   }
/*     */ 
/*     */   public List<String[]> parse() throws Exception
/*     */   {
/*  31 */     FileInputStream fis = null;
/*  32 */     List rows = new ArrayList();
/*     */     try
/*     */     {
/*  39 */       fis = new FileInputStream(this.file);
/*     */ 
/*  41 */       Workbook workbook = new HSSFWorkbook(fis);
/*     */ 
/*  50 */       Sheet sheet = workbook.getSheetAt(0);
/*     */ 
/*  59 */       for (Row row : sheet) {
/*  60 */         List item = new ArrayList();
/*  61 */         for (int i = 0; i < row.getLastCellNum(); i++) {
/*  62 */           Cell cell = row.getCell(i);
/*  63 */           String value = getCellValue(cell);
/*  64 */           if (value != null)
/*  65 */             item.add(value.trim());
/*     */           else {
/*  67 */             item.add("");
/*     */           }
/*     */         }
/*  70 */         rows.add((String[])item.toArray(new String[0]));
/*     */       }
/*     */     } finally {
/*  73 */       if (fis != null) {
/*     */         try {
/*  75 */           fis.close();
/*     */         }
/*     */         catch (IOException e) {
/*  78 */           e.printStackTrace();
/*     */         }
/*     */       }
/*     */     }
/*  82 */     return rows;
/*     */   }
/*     */ 
/*     */   public static String getCellValue(Cell cell) {
/*  86 */     if (cell == null) {
/*  87 */       return "";
/*     */     }
/*  89 */     switch (cell.getCellType()) {
/*     */     case 1:
/*  91 */       return cell.getRichStringCellValue().getString();
/*     */     case 0:
/*  94 */       if (DateUtil.isCellDateFormatted(cell))
/*     */       {
/*  96 */         Date date = cell.getDateCellValue();
/*  97 */         SimpleDateFormat formatTime = new SimpleDateFormat("HH:mm:ss");
/*  98 */         SimpleDateFormat formatYearOnly = new SimpleDateFormat("yyyy");
/*     */ 
/* 100 */         String dateStamp = formatYearOnly.format(date);
/*     */ 
/* 102 */         if (dateStamp.equals("1899")) {
/* 103 */           return formatTime.format(date);
/*     */         }
/*     */ 
/* 106 */         String timeStamp = formatTime.format(date);
/* 107 */         if (timeStamp.equals("00:00:00")) {
/* 108 */           return Util.date2Str2(date);
/*     */         }
/* 110 */         return Util.date2Str(date);
/*     */       }
/* 112 */       DecimalFormat df = new DecimalFormat("#");
/*     */       try {
/* 114 */         return df.format(cell.getNumericCellValue());
/*     */       } catch (ArithmeticException e) {
/* 116 */         return Double.toString(cell.getNumericCellValue());
/*     */       }
/*     */     case 4:
/* 119 */       return cell.getBooleanCellValue() ? "1" : "0";
/*     */     case 2:
/* 121 */       return cell.getCellFormula();
/*     */     case 3:
/* 123 */     }return "";
/*     */   }
/*     */ }

/* Location:           C:\E\referenceProject\CRM参考\qikebao\WEB-INF\lib\qikebao.jar
 * Qualified Name:     com.newcrm.excel.XLSReader
 * JD-Core Version:    0.6.1
 */